package com.im.service.measureReport.smo;

import java.util.List;

import javax.servlet.http.HttpServletRequest;

import com.im.service.dto.Contract;
import com.im.service.dto.ContractClause;
import com.im.service.dto.ContractItem;
import com.im.service.dto.ImplementProject;
import com.im.service.dto.MeteDeclare;
import com.im.service.dto.PageQuery;
import com.im.service.dto.SearchOption;
import com.im.service.model.ContractItemVo;

public interface IMeasurementReportSMO {
	public PageQuery<ContractItemVo> queryContractItem(String jsonStr);

	public PageQuery<ContractItemVo> queryExamineContractItem(ContractItemVo contractItemVo, SearchOption searchOption);

	public List<ImplementProject> queryImplProjectList();

	public List<Contract> queryContractListByImplProject(ImplementProject implementProject);

	public List<ContractClause> queryContractClauseListByContract(Contract contract);

	public List<ContractItem> queryContractItemListByContractClause(ContractClause contractClause);

	public List<ContractItem> queryContractItemInfo(ContractItem contractItem);

	public int addMeasureReport(MeteDeclare meteDeclare);

	public int saveMeasureReport(MeteDeclare meteDeclare);

	public int delMeasureReport(MeteDeclare meteDeclare);

	public String examineMeasureReport(String jsonStr);

	public List<ContractItemVo> queryContractItemDetailByContractId(Contract contract);

	public void updateDeclarePay(ContractItemVo contractItem,HttpServletRequest request);
}
